ORDER BYとは?おーだーばい
ORDER BYは、SQL(データベースに問合せをするための言語)のSELECT文で、取り出した結果の行を指定した列の値の順に並べ替える句である。「SELECT 商品名, 価格 FROM 商品 ORDER BY 価格 DESC」は「商品表から商品名と価格を取り出し、価格の高い順に並べよ」という意味になる。列名の後にASCを付けると昇順(小さい順)、DESCを付けると降順(大きい順)で、何も付けなければ昇順になる。複数の列を書くと、先に書いた列で並べ、値が同じ行の中で次の列の順に並べる。SELECT文の中では最後に書き、GROUP BY(集計する単位を決める句)で集計した結果を並べ替えるときにも使う。
最終更新:2026-10-10
この語が出る過去問を解く →背景
データベースの表は、行がどんな順に並んで返ってくるかを保証しない。問合せの結果をいつも同じ順で、利用者が見たい順に受け取るには、並べ方を問合せの中で指定する必要がある。そのための句として用意された。
具体例
Amazonや楽天市場で商品の一覧を「価格の安い順」に切り替えると、裏側では「ORDER BY 価格 ASC」に当たる並べ替えをした結果が表示されているとみなせる。「新着順」なら登録日の列を降順(ORDER BY 登録日 DESC)に並べる、という対応になる。
試験での引っ掛け
GROUP BYとORDER BYの役割の取り違えが定番。GROUP BYは集計する単位(グループ)を決める句で、並べ替えはしない。並び順を指定するのはORDER BY。過去問でも「クラス・教科ごとに集計し、クラス名・教科名の昇順に並べる」なら、GROUP BY クラス名, 教科名 と ORDER BY クラス名, 教科名 の両方が要る。また DESC はすぐ前の1列だけに効く。「ORDER BY クラス名, 点数 DESC」でクラス名は昇順のまま。
関連用語
出た過去問
出典:平成31年度 春期 基本情報技術者試験 午前 問27(IPA)
"中間テスト"表からクラスごと、教科ごとの平均点を求め、クラス名、教科名の昇順に表示するSQL文中のaに入れる字句はどれか。 中間テスト(クラス名、教科名、学生…
正解:GROUP BY クラス名, 教科名 ORDER BY クラス名, 教科名
要点:GROUP BYは集計の単位、ORDER BYは並べ替えの順序
クラスと教科の組合せごとに平均を出すので、GROUP BYにはクラス名と教科名の両方を指定する。学生番号まで含めると学生1人ごとの集計になってしまい、求める粒度と合わない。並び順の指定はクラス名、教科名の昇順なので、ORDER BYにはこの2つを順に書く。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。